namespace SharePoint.ImportExport.Importer
{
    using System;
    using System.Runtime.Serialization;

    [Serializable()]

    /// <summary>
    /// This is the custom exception class
    /// </summary>
    /// <remarks>
    /// This class is used when the Importer throws a custom exception
    /// </remarks>
    public class SpsImportException : ApplicationException
    {
        /// <summary>
        /// Initializes a new instance of the SpsImportException class.
        /// </summary>
        /// <param name="message">Exception message</param>
        public SpsImportException(string message)
            : base(message)
        {
        }

        /// <summary>
        /// Initializes a new instance of the SpsImportException class.
        /// </summary>
        public SpsImportException()
        {
        }

        /// <summary>
        /// Initializes a new instance of the SpsImportException class.
        /// </summary>
        /// <param name="message">Exception message</param>
        /// <param name="exception">Underlying exception</param>
        public SpsImportException(string message, Exception exception)
            : base(message, exception)
        {
        }

        /// <summary>
        /// Initializes a new instance of the SpsImportException class.
        /// </summary>
        /// <param name="serializationInfo">Seriialzation info</param>
        /// <param name="streamingContext">Streaming Context</param>
        protected SpsImportException(SerializationInfo serializationInfo, StreamingContext streamingContext)
            : base(serializationInfo, streamingContext)
        {
        }
    }
}
